package main

import (
	"errors"
	"fmt"
)

func main() {

	// 有条件的
	a := 10
	if a > 20 {
		fmt.Println(">")
	} else if a < 20 {
		fmt.Println("<")
	} else {
		fmt.Println("=")
	}

	// if 中的语句
	x := "hello go!"
	if count := len(x); count > 0 {
		fmt.Println("Yes")
	}

	if _, err := doThing(); err != nil {
		fmt.Println("Uh oh")
	}

	// Switch
	x1 := 42.0
	switch x1 {
	case 0:
	case 1, 2:
		fmt.Println("Multiple matches")
	case 42:
		fmt.Println("reached")
	case 43:
		fmt.Println("Unreached")
	default:
		fmt.Println("Optional")
	}

	// For loop
	for i := 0; i < 5; i++ {
		fmt.Println("i: ", i)
	}

	// 对于 Range 循环

	num := []int{2, 3, 4}
	sum := 0
	for _, value := range num {
		sum += value
	}
	fmt.Println("sum:", sum)
	/*	for i := 0; i < len(num); i++ {
		sum += num[i]
	}*/

	// For 循环
	i := 1
	for i <= 3 {
		fmt.Println("i:", i)
		i++
	}

	// Continue 关键字
	for i := 0; i < 5; i++ {
		if i%2 == 0 {
			continue
		}
		fmt.Println("i:", i)
	}
	// Break 关键字
	for i := 1; i < 5; i++ {
		if i%3 == 0 {
			break
		}
		fmt.Println("i1:", i)
	}

}

func doThing() (bool, error) {
	// 这里是实际操作的地方，此处只是一个示例
	// 假设出现了某种错误
	return false, errors.New("something went wrong")
}
